<!DOCTYPE html
  PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "DTD/xhtml1-strict.dtd">
<html>
  <head>
    <title>volatility.registry : API documentation</title>
    <meta content="text/html;charset=utf-8" http-equiv="Content-Type" />
    <link href="apidocs.css" type="text/css" rel="stylesheet" />
    
    
  </head>
  <body>
    <h1 class="module">v.registry : module documentation</h1>
    <p>
      <span id="part">Part of <a href="volatility.html">volatility</a></span>
      
      
    </p>
    <div>
      
    </div>
    <div>This module implements a class registry.</p>
<p>We scan the memory_plugins directory for all python files and add those
classes which should be registered into their own lookup tables. These
are then ordered as required. The rest of Volatility will then call onto the
registered classes when needed.</p>
<p>This mechanism allows us to reorganise the code according to
functionality. For example we may include a Scanner, Report and File
classes in the same plugin and have them all automatically loaded.<table class="fieldTable"></table></div>

    
    
    <div id="splitTables">
      <table class="children sortable" id="id2">
  
  
<tr class="class">
    
    
    <td>Class</td>
    <td><a href="volatility.registry.PluginImporter.html">PluginImporter</a></td>
    <td><span>This class searches through a comma-separated list of plugins and imports all classes found, based on their path and a fixed prefix.</span></td>
  </tr><tr class="function">
    
    
    <td>Function</td>
    <td><a href="volatility.registry.html#get_plugin_classes">get_plugin_classes</a></td>
    <td><span>Returns a dictionary of plugins</span></td>
  </tr><tr class="function">
    
    
    <td>Function</td>
    <td><a href="volatility.registry.html#register_global_options">register_global_options</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="function private">
    
    
    <td>Function</td>
    <td><a href="volatility.registry.html#_get_subclasses">_get_subclasses</a></td>
    <td><span>Run through subclasses of a particular class</span></td>
  </tr>
  
</table>
      
      
    </div>
    
    
    

    <div class="function">
  <a name="volatility.registry._get_subclasses">
    
  </a>
  <a name="_get_subclasses">
    
  </a>
  <div class="functionHeader">
    
    def
    _get_subclasses(cls):
    
  </div>
  <div class="functionBody">
    
    <div>Run through subclasses of a particular class</p>
<p>This returns all classes descended from the main class,
_including_ the main class itself.  If showall is set to
False (the default) then classes starting with Abstract
will not be returned.<table class="fieldTable"></table></div>
  </div>
</div><div class="function">
  <a name="volatility.registry.get_plugin_classes">
    
  </a>
  <a name="get_plugin_classes">
    
  </a>
  <div class="functionHeader">
    
    def
    get_plugin_classes(cls, showall=False, lower=False):
    
  </div>
  <div class="functionBody">
    
    <div>Returns a dictionary of plugins<table class="fieldTable"></table></div>
  </div>
</div><div class="function">
  <a name="volatility.registry.register_global_options">
    
  </a>
  <a name="register_global_options">
    
  </a>
  <div class="functionHeader">
    
    def
    register_global_options(config, cls):
    
  </div>
  <div class="functionBody">
    
    <div class="undocumented">Undocumented</div>
  </div>
</div>
    <address>
      <a href="index.html">API Documentation</a> for Volatility 2.2, generated by <a href="http://codespeak.net/~mwh/pydoctor/">pydoctor</a> at 2013-06-24 15:16:10.
    </address>
  </body>
</html>